M1106 : Séance de TP 1


Sommaire

  1. HTML vs XHTML
  2. Codage UTF-8
    1. Jeu universel de caractères codés
    2. Unicode
    3. UTF-8
  3. Autres codages
    1. ISO 8859-1
    2. Windows 1252

HTML vs XHTML

HTML est langage de balises issu du langage SGML. XHTML est une refonte de HTML àpartir du langage XML, plus strict que SGML. Comme XHTML et HTML n'ont pas les mêmes langages parents, des différences existent :

Codage UTF-8

Jeu universel de caractères codés

La norme ISO/CEI-10646-10646 définit une table de caractères appelée « jeu universel de caractères codés » (JUC), ou « universal character set » (UCS) en anglais. Cette table contient environ 110000 caractères issus du monde entier. Chaque caractère du JUC est identifié par un point de code noté U+x, où x est un entier hexadécimal positif comportant de 4 à 6 chiffres :

Chaque caractère du JUC possède également un nom, par exemple, la lettre A majuscule de notre alphabet latin s'appelle « LATIN CAPITAL LETTER A » et a pour point de code U+0041.

Unicode

Le standard Unicode est lié à la norme ISO/CEI-10646 car il reprend le JUC et y ajoute des règles de gestion : collation, codage, sérialisation… Unicode accepte plusieurs méthodes de codage pour représenter un point de code valide : UTF-8, UTF-16 et UTF-32. Le nombre derrière le sigle UTF est le nombre de bits minimal d'une unité de code, appelée « codet ».

UTF-8

Le codage le plus utilisé est UTF-8, qui est un codage de longueur variable dont les codets sont des unités de 8 bits. En UTF-8 un point de code U+n se code sur un, deux, trois ou quatre octets en fonction du nombre de bits nécessaires pour coder n. Si n appartient au code ASCII (7 bits), alors n est compris entre 00 et 7F et se code sur un seul octet avec 0 comme bit de poids fort. UTF-8 est donc entièrement compatible avec le code ASCII. Dans les autres cas, les bits de poids fort du premier octet commencent par une suite de 1 suivie d'un 0. Le nombre de 1 indique le nombre total d'octets dans le codage de U+n. Les deux bits de poids fort de tous les octets qui suivent portent toujours la marque 10. Un point de code codé en UTF-8 aura donc l'une des quatre formes suivantes :

  1. 0xxxxxxxx : jusqu'à 7 bits
  2. 110xxxxxx 10xxxxxx : entre 8 et 11 bits
  3. 1110xxxxx 10xxxxxx 10xxxxxx : entre 12 et 16 bits
  4. 11110xxxx 10xxxxxx 10xxxxxx 10xxxxxx : entre 17 et 21 bits

Quand plusieurs formes sont possibles, seule la plus courte est considérée comme valide. Les bits x correspondent simplement au codage de n en binaire cadré à droite et éventuellement complété par des 0 à gauche.

Autres codages

ISO-8859-1

Table des codes ISO-8859-1

page de codes cp859

Windows-1252

Table des codes Windows 1252

page de codes cp1252


       .--.  .-'''-.  .--.
      /."".v'.-. .-.`v.""\\
      ||  / / O| | O\ \  ||
      \\_/| \__| |__/  \_//
       `-'\  .-n-n-.  /`-'
        _.-\/       \/-._
      .'   (\`.___.'/)   `.
     /      \`.___.'/      `.
    /        `.___.'         \
    |     |             \     \
    |     |   .      .  |\     \
    |     |             | \     \
     \     \            |  \     \
      \     \           |.' `.    \
       `.    \         .'     `.   \
  _.._   `.   `-. ___ /        /`.  `.
.'    `-._ `.    `.__)       .'  /    `.
|         `-.\     \/      .'   / /\  )|\.
 \          _/ / /|/     .'    (_/ / / | \)
  `._      (__/_/-/   ..'         (_/| |\_)
     ``--._____.-(     `.            `-'
                  `--.   `.
                    (_/\ \\\
                       /_///